/*******************************
            Dimmer
*******************************/

.dimmable {
    position: relative;
}

.ui.dimmer {
    display: none;
    position: absolute;
    top: 0em !important;
    left: 0em !important;
    width: 100%;
    height: 100%;
    text-align: center;
    vertical-align: middle;
    background-color: rgba(0, 0, 0, 0.85);
    opacity: 0;
    line-height: 1;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
    -webkit-transition: background-color 0.5s linear;
    transition: background-color 0.5s linear;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    will-change: opacity;
}

/*******************************
            States
*******************************/

.animating.dimmable:not(body),
.dimmed.dimmable:not(body) {
    overflow: hidden;
}

.dimmed.dimmable > .ui.animating.dimmer,
.dimmed.dimmable > .ui.visible.dimmer,
.ui.active.dimmer {
    display: block;
    opacity: 1;
}

.ui.disabled.dimmer {
    width: 0 !important;
    height: 0 !important;
}

/*******************************
           Variations
*******************************/
/* Dimmer Color */
.blurring.dimmable > .dimmer {
    background-color: rgba(0, 0, 0, 0.6);
}

.blurring.dimmable > .inverted.dimmer {
    background-color: rgba(255, 255, 255, 0.6);
}

/*--------------
    Inverted
---------------*/

.ui.inverted.dimmer {
    background-color: rgba(255, 255, 255, 0.85);
}

.ui.inverted.dimmer > .content > * {
    color: #FFFFFF;
}

/*******************************
            Loader
*******************************/

/* Standard Size */
.ui.loader {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 0px;
    text-align: center;
    z-index: 1000;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}

/* Static Shape */
.ui.loader:before {
    position: absolute;
    content: '';
    top: 0%;
    left: 50%;
    width: 100%;
    height: 100%;
    border-radius: 500rem;
    border: 0.2em solid rgba(0, 0, 0, 0.1);
}

/* Active Shape */
.ui.loader:after {
    position: absolute;
    content: '';
    top: 0%;
    left: 50%;
    width: 100%;
    height: 100%;
    -webkit-animation: loader 0.6s linear;
    animation: loader 0.6s linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    border-radius: 500rem;
    border-color: #767676 transparent transparent;
    border-style: solid;
    border-width: 0.2em;
    box-shadow: 0px 0px 0px 1px transparent;
}

/* Active Animation */
@-webkit-keyframes loader {
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes loader {
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

/* Sizes */
.ui.loader:before,
.ui.loader:after {
    width: 2.2585em;
    height: 2.2585em;
    margin: 0em 0em 0em -1.12925em;
}

.ui.mini.loader:before,
.ui.mini.loader:after {
    width: 1.2857em;
    height: 1.2857em;
    margin: 0em 0em 0em -0.64285em;
}

.ui.small.loader:before,
.ui.small.loader:after {
    width: 1.7142em;
    height: 1.7142em;
    margin: 0em 0em 0em -0.8571em;
}

.ui.large.loader:before,
.ui.large.loader:after {
    width: 4.5714em;
    height: 4.5714em;
    margin: 0em 0em 0em -2.2857em;
}

/*-------------------
      Coupling
--------------------*/

/* Show inside active dimmer */
.ui.dimmer .loader {
    display: block;
}

/* Black Dimmer */
.ui.dimmer .ui.loader {
    color: rgba(255, 255, 255, 0.9);
}

.ui.dimmer .ui.loader:before {
    border-color: rgba(255, 255, 255, 0.15);
}

.ui.dimmer .ui.loader:after {
    border-color: #FFFFFF transparent transparent;
}

/* White Dimmer (Inverted) */
.ui.inverted.dimmer .ui.loader {
    color: rgba(0, 0, 0, 0.87);
}

.ui.inverted.dimmer .ui.loader:before {
    border-color: rgba(0, 0, 0, 0.1);
}

.ui.inverted.dimmer .ui.loader:after {
    border-color: #767676 transparent transparent;
}

/*******************************
             Types
*******************************/

/*-------------------
        Text
--------------------*/

.ui.text.loader {
    width: auto !important;
    height: auto !important;
    text-align: center;
    font-style: normal;
}

/*******************************
            States
*******************************/

.ui.indeterminate.loader:after {
    -webkit-animation-direction: reverse;
    animation-direction: reverse;
    -webkit-animation-duration: 1.2s;
    animation-duration: 1.2s;
}

.ui.loader.active,
.ui.loader.visible {
    display: block;
}

.ui.loader.disabled,
.ui.loader.hidden {
    display: none;
}

/*******************************
            Variations
*******************************/

/*-------------------
        Sizes
--------------------*/

/* Loader */
.ui.inverted.dimmer .ui.mini.loader,
.ui.mini.loader {
    width: 1.2857em;
    height: 1.2857em;
    font-size: 0.71428571em;
}

.ui.inverted.dimmer .ui.small.loader,
.ui.small.loader {
    width: 1.7142em;
    height: 1.7142em;
    font-size: 0.92857143em;
}

.ui.inverted.dimmer .ui.loader,
.ui.loader {
    width: 2.2585em;
    height: 2.2585em;
    font-size: 1em;
}

.ui.inverted.dimmer .ui.loader.large,
.ui.loader.large {
    width: 4.5714em;
    height: 4.5714em;
    font-size: 1.14285714em;
}

/* Text Loader */
.ui.mini.text.loader {
    min-width: 1.2857em;
    padding-top: 1.99998571em;
}

.ui.small.text.loader {
    min-width: 1.7142em;
    padding-top: 2.42848571em;
}

.ui.text.loader {
    min-width: 2.2585em;
    padding-top: 2.97278571em;
}

.ui.large.text.loader {
    min-width: 4.5714em;
    padding-top: 5.28568571em;
}

/*-------------------
       Inverted
--------------------*/

.ui.inverted.loader {
    color: rgba(255, 255, 255, 0.9);
}

.ui.inverted.loader:before {
    border-color: rgba(255, 255, 255, 0.15);
}

.ui.inverted.loader:after {
    border-top-color: #FFFFFF;
}

/*-------------------
       Inline
--------------------*/

.ui.inline.loader {
    position: relative;
    vertical-align: middle;
    margin: 0em;
    left: 0em;
    top: 0em;
    -webkit-transform: none;
    transform: none;
}

.ui.inline.loader.active,
.ui.inline.loader.visible {
    display: inline-block;
}

/* Centered Inline */
.ui.centered.inline.loader.active,
.ui.centered.inline.loader.visible {
    display: block;
    margin-left: auto;
    margin-right: auto;
}